Allows to execute stored procedure or function providing its name and parameters.
function ExecProc(const Name: string; const Params: array of variant): variant; virtual;
Allows to execute stored procedure or function providing its name and parameters.
Use the following Name value syntax for executing specific overloaded routine: "StoredProcName:1" or "StoredProcName:5". The first example executes the first overloaded stored procedure, while the second example executes the fifth overloaded procedure.
Assign parameters' values to the Params array in exactly the same order and number as they appear in the stored procedure declaration. Out parameters of the procedure can be accessed with the ParamByName procedure.
If the value of an input parameter was not included to the Params array, parameter default value is taken. Only parameters at the end of the list can be unincluded to the Params array. If the parameter has no default value, the NULL value is sent.
Note: Stored functions unlike stored procedures return result values that are obtained internally through the RESULT parameter. You will no longer have to provide anonymous value in the Params array to describe the result of the function. The stored function result is obtained from the Params[0] indexed property or with the ParamByName('RESULT') method call.
For further examples of parameter usage see ExecSQL, ExecSQLEx.
For example, having stored function declaration presented in Example 1), you may execute it and retrieve its result with commands presented in Example 2):
Example 1) CREATE procedure MY_SUM ( A INTEGER, B INTEGER) RETURNS ( RESULT INTEGER) as begin Result = a + b; end; Example 2) Label1.Caption:= MyVirtualConnection1.ExecProc('My_Sum', [10, 20]); Label2.Caption:= MyVirtualConnection1.ParamByName('Result').AsString;